<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>eccodes: eccodes::codes_get_element Interface Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">eccodes
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>C&#160;Interface</span></a></li>
      <li><a href="classeccodes.html"><span>F90&#160;Interface</span></a></li>
      <li><a href="namespaces.html"><span>Python&#160;Interface</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="classeccodes.html">eccodes</a></li><li class="navelem"><a class="el" href="interfaceeccodes_1_1codes__get__element.html">codes_get_element</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">eccodes::codes_get_element Interface Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Get a value of specified index from an array key.  
 <a href="interfaceeccodes_1_1codes__get__element.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a9d846a6d3872e4fdb991b007b7ab1301"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceeccodes_1_1codes__get__element.html#a9d846a6d3872e4fdb991b007b7ab1301">codes_get_real4_element</a> (msgid, key, kindex, value, status)</td></tr>
<tr class="memdesc:a9d846a6d3872e4fdb991b007b7ab1301"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a real(4) value of specified index from an array key.  <a href="#a9d846a6d3872e4fdb991b007b7ab1301">More...</a><br/></td></tr>
<tr class="separator:a9d846a6d3872e4fdb991b007b7ab1301"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f8c1bc6b5c77950fe80d324c99e541a"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceeccodes_1_1codes__get__element.html#a7f8c1bc6b5c77950fe80d324c99e541a">codes_get_real8_element</a> (msgid, key, kindex, value, status)</td></tr>
<tr class="memdesc:a7f8c1bc6b5c77950fe80d324c99e541a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a real(8) value of specified index from an array key.  <a href="#a7f8c1bc6b5c77950fe80d324c99e541a">More...</a><br/></td></tr>
<tr class="separator:a7f8c1bc6b5c77950fe80d324c99e541a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e52b77671af20322bd3fc72282449e3"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceeccodes_1_1codes__get__element.html#a6e52b77671af20322bd3fc72282449e3">codes_get_real4_elements</a> (msgid, key, kindex, value, status)</td></tr>
<tr class="memdesc:a6e52b77671af20322bd3fc72282449e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the real(4) values whose indexes are stored in the array "index" from an array key.  <a href="#a6e52b77671af20322bd3fc72282449e3">More...</a><br/></td></tr>
<tr class="separator:a6e52b77671af20322bd3fc72282449e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2652d9dd45016f29721a60a5104867f"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceeccodes_1_1codes__get__element.html#ad2652d9dd45016f29721a60a5104867f">codes_get_real8_elements</a> (msgid, key, kindex, value, status)</td></tr>
<tr class="memdesc:ad2652d9dd45016f29721a60a5104867f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the real(8) values whose indexes are stored in the array "index" from an array key.  <a href="#ad2652d9dd45016f29721a60a5104867f">More...</a><br/></td></tr>
<tr class="separator:ad2652d9dd45016f29721a60a5104867f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Get a value of specified index from an array key. </p>
<p>Given an ID and key name as input a value corresponding to the given index is returned. The index is zero based i.e. the first element has zero index, the second element index one and so on. If the parameter index is an array all the values correspondig to the indexes list is returned. The ID references to a message loaded in memory.</p>
<p>In case of error, if the status parameter (optional) is not given, the program will exit with an error message.<br/>
 Otherwise the error message can be gathered with <a class="el" href="classeccodes.html#a835de867b8ad79cc43f127e7048712f3">codes_get_error_string</a>.</p>
<p><b>Examples:</b> <a href="https://software.ecmwf.int/wiki/display/ECC/grib_nearest" target="_blank">grib_nearest.f90</a></p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classeccodes.html#a5533c6fb8bd7d8f622c89484b7bbdfb6" title="Load in memory a message from a file. ">codes_new_from_file</a>, <a class="el" href="classeccodes.html#a1c0ab28b0ae33f04d267d794a8bdd4b7" title="Free the memory for the message referred as msgid. ">codes_release</a>, <a class="el" href="interfaceeccodes_1_1codes__get.html" title="Get the value for a key from a grib message. ">codes_get</a></dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>ID of the message loaded in memory </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>key name </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>index can be a scalar or array of integer(4) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">value</td><td>value can be a scalar or array of integer(4),real(4),real(8) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">status</td><td>CODES_SUCCESS if OK, integer value on error </td></tr>
  </table>
  </dd>
</dl>
</div><h2 class="groupheader">Member Function/Subroutine Documentation</h2>
<a class="anchor" id="a9d846a6d3872e4fdb991b007b7ab1301"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">subroutine codes_get_real4_element </td>
          <td>(</td>
          <td class="paramtype">integer(kind=kindofint), intent(in)&#160;</td>
          <td class="paramname"><em>msgid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">character(len=*), intent(in)&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">integer(kind=kindofint), intent(in)&#160;</td>
          <td class="paramname"><em>kindex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">real(kind = kindoffloat), intent(out)&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">integer(kind=kindofint), intent(out), optional&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get a real(4) value of specified index from an array key. </p>
<p>In case of error, if the status parameter (optional) is not given, the program will exit with an error message.<br/>
 Otherwise the error message can be gathered with <a class="el" href="classeccodes.html#a835de867b8ad79cc43f127e7048712f3">codes_get_error_string</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">msgid</td><td>id of the grib loaded in memory </td></tr>
    <tr><td class="paramname">key</td><td>key name </td></tr>
    <tr><td class="paramname">kindex</td><td>integer(4) index </td></tr>
    <tr><td class="paramname">value</td><td>real(4) value </td></tr>
    <tr><td class="paramname">status</td><td>CODES_SUCCESS if OK, integer value on error </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6e52b77671af20322bd3fc72282449e3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">subroutine codes_get_real4_elements </td>
          <td>(</td>
          <td class="paramtype">integer(kind=kindofint), intent(in)&#160;</td>
          <td class="paramname"><em>msgid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">character(len=*), intent(in)&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">integer(kind=kindofint), dimension(:), intent(in)&#160;</td>
          <td class="paramname"><em>kindex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">real(kind = kindoffloat), dimension(:), intent(out)&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">integer(kind=kindofint), intent(out), optional&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the real(4) values whose indexes are stored in the array "index" from an array key. </p>
<p>In case of error, if the status parameter (optional) is not given, the program will exit with an error message.<br/>
 Otherwise the error message can be gathered with <a class="el" href="classeccodes.html#a835de867b8ad79cc43f127e7048712f3">codes_get_error_string</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">msgid</td><td>id of the grib loaded in memory </td></tr>
    <tr><td class="paramname">key</td><td>key name </td></tr>
    <tr><td class="paramname">kindex</td><td>integer(4) array indexes </td></tr>
    <tr><td class="paramname">value</td><td>real(4) array value </td></tr>
    <tr><td class="paramname">status</td><td>CODES_SUCCESS if OK, integer value on error </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7f8c1bc6b5c77950fe80d324c99e541a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">subroutine codes_get_real8_element </td>
          <td>(</td>
          <td class="paramtype">integer(kind=kindofint), intent(in)&#160;</td>
          <td class="paramname"><em>msgid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">character(len=*), intent(in)&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">integer(kind=kindofint), intent(in)&#160;</td>
          <td class="paramname"><em>kindex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">real(kind = kindofdouble), intent(out)&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">integer(kind=kindofint), intent(out), optional&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get a real(8) value of specified index from an array key. </p>
<p>In case of error, if the status parameter (optional) is not given, the program will exit with an error message.<br/>
 Otherwise the error message can be gathered with <a class="el" href="classeccodes.html#a835de867b8ad79cc43f127e7048712f3">codes_get_error_string</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">msgid</td><td>id of the grib loaded in memory </td></tr>
    <tr><td class="paramname">key</td><td>key name </td></tr>
    <tr><td class="paramname">kindex</td><td>integer(4) index </td></tr>
    <tr><td class="paramname">value</td><td>real(8) value </td></tr>
    <tr><td class="paramname">status</td><td>CODES_SUCCESS if OK, integer value on error </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad2652d9dd45016f29721a60a5104867f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">subroutine codes_get_real8_elements </td>
          <td>(</td>
          <td class="paramtype">integer(kind=kindofint), intent(in)&#160;</td>
          <td class="paramname"><em>msgid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">character(len=*), intent(in)&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">integer(kind=kindofint), dimension(:), intent(in)&#160;</td>
          <td class="paramname"><em>kindex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">real(kind = kindofdouble), dimension(:), intent(out)&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">integer(kind=kindofint), intent(out), optional&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the real(8) values whose indexes are stored in the array "index" from an array key. </p>
<p>In case of error, if the status parameter (optional) is not given, the program will exit with an error message.<br/>
 Otherwise the error message can be gathered with <a class="el" href="classeccodes.html#a835de867b8ad79cc43f127e7048712f3">codes_get_error_string</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">msgid</td><td>id of the grib loaded in memory </td></tr>
    <tr><td class="paramname">key</td><td>key name </td></tr>
    <tr><td class="paramname">kindex</td><td>integer(4) array index </td></tr>
    <tr><td class="paramname">value</td><td>real(8) array value </td></tr>
    <tr><td class="paramname">status</td><td>CODES_SUCCESS if OK, integer value on error </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this interface was generated from the following file:<ul>
<li>eccodes_f90.f90</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>
